table of contents
PROC(5) | Manuel du programmeur Linux | PROC(5) |
NOM¶
proc - Pseudo-système de fichiers d'informations sur les processus.
DESCRIPTION¶
Le système de fichiers proc est un pseudo-système de fichiers qui est utilisé comme interface avec les structures de données du noyau. Il est généralement monté sur /proc. La plupart des fichiers sont en lecture seule, mais quelques uns permettent la modification de variables du noyau.
La description suivante fournit un aperçu de la hiérarchie de /proc.
- /proc/[pid]
- Il existe un sous-répertoire pour chaque processus actif. Le sous-répertoire prend comme nom le PID du processus. Chaque sous-répertoire contient les pseudo-fichiers et pseudo-répertoires suivants.
- /proc/[pid]/auxv (depuis le noyau 2.6.0-test7)
- Il comporte le contenu des informations passées par l'interpréteur ELF au processus lors de son exécution. Le format est constitué, pour chacune des entrées, d'un identifiant unsigned long suivi d'une valeur unsigned long. La dernière entrée comporte deux zéros.
- /proc/[pid]/cmdline
- Ce fichier contient la ligne de commande complète du processus, sauf s'il s'agit d'un zombie. Dans ce dernier cas, il n'y a rien dans ce fichier : c'est-à-dire qu'une lecture de ce fichier ne retournera aucun caractère. Les paramètres de la ligne de commande apparaissent dans ce fichier comme un ensemble de chaînes séparées par le caractère « NULL » (0 binaire), avec un octet nul (« \0 ») supplémentaire après la dernière chaîne.
- /proc/[pid]/coredump_filter (depuis le noyau 2.6.23)
- Consultez core(5).
- /proc/[pid]/cpuset (depuis le noyau 2.6.12)
- Consultez cpuset(7).
- /proc/[pid]/cwd
- Lien symbolique vers le répertoire de travail actuel du processus.
Pour obtenir le répertoire de travail du processus 20 par exemple,
vous pouvez faire ceci :
$ cd /proc/20/cwd; /bin/pwd
Notez que la commande directe pwd est souvent une commande interne de l'interpréteur de commandes, et qu'elle risque de ne pas fonctionner correctement. Avec bash(1), vous pouvez utiliser pwd -P.
Dans un traitement multiprocessus (multithreaded), le contenu de ce lien symbolique n'est pas disponible si le processus principal est déjà terminé (typiquement par un appel à pthread_exit(3).
- /proc/[pid]/environ
- Ce fichier contient l'environnement du processus. Les entrées sont
séparées par des caractères nuls
(« \0 »), et il devrait y en avoir un à
la fin du fichier. Ainsi, pour afficher l'environnement du processus
numéro 1, vous pouvez utiliser :
$ (cat /proc/1/environ; echo) | tr '\000' '\n'
- /proc/[pid]/exe
- Sous Linux 2.2 et ultérieur, ce fichier est un lien symbolique
représentant le chemin réel de la commande en cours
d'exécution. Ce lien symbolique peut être
déréférencé normalement ; tenter de
l'ouvrir ouvrira le fichier exécutable. Vous pouvez même
entrer /proc/[pid]/exe pour lancer une autre instance du
même processus [pid] indiqué. Pour les multiprocessus, le
contenu de ce lien symbolique n'est pas disponible si le processus
principal s'est déjà terminé (typiquement par l'appel
de pthread_exit(3)).
Sous Linux 2.0 et précédents, /proc/[pid]/exe était un pointeur sur le fichier binaire exécuté, qui apparaissait sous forme de lien symbolique. Un appel système readlink(2) sur ce fichier renvoyait une chaîne de la forme :
[périphérique]:inodePar exemple, [0301]:1502 correspond à l'inode 1502 du périphérique ayant le numéro majeur 03 (disque IDE, MFM, etc.) et mineur 01 (première partition du premier disque).
On peut utiliser find(1) avec l'option -inum pour retrouver le fichier exécutable à partir du numéro d'inode.
- /proc/[pid]/fd
- Il s'agit d'un sous-répertoire contenant une entrée pour
chaque fichier ouvert par le processus. Chaque entrée a le
descripteur du fichier pour nom, et est représentée par un
lien symbolique vers le vrai fichier. Ainsi, 0 correspond à
l'entrée standard, 1 à la sortie standard, 2 à la
sortie d'erreur, etc.
Dans un traitement multiprocessus (multithreaded), le contenu de ce répertoire n'est pas disponible si le processus principal est déjà terminé (typiquement par l'appel de pthread_exit(3).
Les programmes qui prennent un nom de fichier comme paramètre de la ligne de commande mais qui ne lisent pas l'entrée standard si aucun paramètre n'est fourni, ou qui écrivent dans un fichier indiqué par un paramètre de la ligne de commande sans écrire sur la sortie standard si aucun paramètre n'est fourni, peuvent néanmoins utiliser l'entrée standard et la sortie standard par l'intermédiaire de /proc/[pid]/fd. Par exemple, en supposant que l'option -i indique le nom du fichier d'entrée et l'option -o le nom du fichier de sortie :
$ tototiti -i /proc/self/fd/0 -o /proc/self/fd/1 ...
et vous avez alors réalisé un filtre.
/proc/self/fd/N est approximativement identique à /dev/fd/N sur certains systèmes Unix et pseudo-Unix. D'ailleurs la plupart des scripts MAKEDEV de Linux lient symboliquement en fait /dev/fd à /proc/self/fd.
La plupart des systèmes fournissent les liens symboliques /dev/stdin, /dev/stdout et /dev/stderr, qui sont respectivement liés aux fichiers 0, 1 et 2 de /proc/self/fd. Par conséquent, l'exemple précédent peut être écrit de la façon suivante :
$ foobar -i /dev/stdin -o /dev/stdout ...
- /proc/[pid]/fdinfo/ (depuis le noyau 2.6.22)
- Il s'agit d'un sous-répertoire contenant une entrée pour
chaque fichier ouvert par le processus, nommé par son descripteur
de fichier. Le contenu de chaque fichier peut être lu afin
d'obtenir des informations sur le descripteur de fichier correspondant,
par exemple :
$ cat /proc/12015/fdinfo/4 pos: 1000 flags: 01002002
Le champ pos est un nombre décimal indiquant la position de la tête de lecture. Le champ flags est un nombre octal indiquant les modes d'accès au fichier ainsi que ses attributs d'état (voir open(2)).
Les fichiers de ce répertoire ne sont accessibles en lecture que par le propriétaire du processus.
- /proc/[pid]/limits (depuis le noyau 2.6.24)
- Ce fichier indique les limites souples et strictes ainsi que les unités de mesure de chaque limite de ressources du processus (voir getrlimit(2)). Le fichier est protégé de telle sorte que seul l'UID réel du processus puisse le lire.
- /proc/[pid]/maps
- Fichier contenant les régions de la mémoire actuellement
projetées et leurs autorisations d'accès.
Le format est :
address perms offset dev inode pathname 08048000-08056000 r-xp 00000000 03:0c 64593 /usr/sbin/gpm 08056000-08058000 rw-p 0000d000 03:0c 64593 /usr/sbin/gpm 08058000-0805b000 rwxp 00000000 00:00 0 40000000-40013000 r-xp 00000000 03:0c 4165 /lib/ld-2.2.4.so 40013000-40015000 rw-p 00012000 03:0c 4165 /lib/ld-2.2.4.so 4001f000-40135000 r-xp 00000000 03:0c 45494 /lib/libc-2.2.4.so 40135000-4013e000 rw-p 00115000 03:0c 45494 /lib/libc-2.2.4.so 4013e000-40142000 rw-p 00000000 00:00 0 bffff000-c0000000 rwxp 00000000 00:00 0
Où « adresses » correspond à l'espace d'adressage du processus qui l'occupe, « perm » est un ensemble d'autorisations :
r = lecture w = écriture x = exécution s = partage p = privé (copie lors de l'écriture)
Le « décalage » est le décalage dans le fichier ou autre, « périph » correspond à la paire (majeur:mineur), et l'« inode » est l'inode sur ce périphérique. 0 signifie qu'aucun inode n'est associé avec cette zone mémoire, comme c'est le cas avec BSS (données non initialisées).
Sous Linux 2.0, il n'y a pas de champ indiquant le chemin d'accès.
- /proc/[pid]/mem
- Ce fichier peut être utilisé pour accéder à la mémoire d'un processus au travers de open(2), read(2), et lseek(2).
- /proc/[pid]/mountinfo (depuis Linux 2.6.26)
- Ce fichier contient des informations relatives aux points de montage. Il
contient des lignes de la forme :
36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue (1)(2)(3) (4) (5) (6) (7) (8) (9) (10) (11)
- Les nombres entre paranthèses sont des étiquettes pour les descriptions suivantes :
- (1)
- mount ID : identifiant unique du montage (peut être réutilisé après un umount(2)).
- (2)
- parent ID : identifiant du montage parent (ou de lui-même pour le sommet de la hiérarchie).
- (3)
- major:minor : valeur de st_dev pour les fichiers sur le système de fichiers (voir stat(2)).
- (4)
- root : racine du montage dans le système de fichiers.
- (5)
- mount point : point de montage relatif à la racine du processus.
- (6)
- mount options : options par montage.
- (7)
- optional fields : zéro ou plusieurs champs de la forme « tag[:value] ».
- (8)
- separator : indique la fin des champs optionnels.
- (9)
- file system type : nom du système de fichiers de la forme « type[.subtype] ».
- (10)
- mount source : informations spécifiques au système de fichiers ou « none ».
- (11)
- super options : options par super bloc.
- Les outils d'analyse devraient ignorer les champs optionnels non reconnus. Les champs optionnels actuellement disponibles sont :
- le montage est partagé par le groupe pair X
- master:X
- le montage est esclave pour le groupe pair X
- propagate_from:X
- le montage est esclave et reçoit des propagations provenant du groupe pair X (*)
- unbindable
- le point de montage ne peut pas être lié
- (*) X est le group pair dominant le plus proche sous la racine du
processus. Si X est le maître immédiat du montage ou s'il
n'y a pas de group pair dominant sous la même racine, alors seul le
champ « master:X » est présent et pas
le champ « propagate_from:X ».
Pour plus d'informations sur les propagations de montage, voir Documentation/filesystems/sharedsubtree.txt dans l'arborescence des sources du noyau.
- /proc/[pid]/mounts (depuis Linux 2.6.17)
- C'est une liste de tous les systèmes de fichiers montés dans l'espace de noms de montage du processus. Le format de ce fichier est documenté dans fstab(5). Depuis la version 2.6.15 du noyau, ce fichier peut être pollué : après avoir ouvert le fichier en lecture, une modification de ce fichier (par exemple, le montage ou le démontage d'un système de fichiers) provoque le marquage par select(2) du descripteur de fichier comme étant lisible, et poll(2) et epoll_wait(2) marquent le fichier comme étant en erreur.
- /proc/[pid]/mountstats (depuis Linux 2.6.17)
- Ce fichier exporte des informations (statistiques, configuration)
relatives aux points de montage dans l'espace de noms du processus. Les
lignes de ce fichier sont de la forme :
device /dev/sda7 mounted on /home with fstype ext3 [statistics] ( 1 ) ( 2 ) (3 ) (4)
- Les champs de chaque ligne sont :
- (1)
- Le nom du périphérique monté (ou « nodevice » s'il n'y a pas de périphérique correspondant).
- (2)
- Le point de montage dans l'arborescence du système de fichiers.
- (3)
- Le type du système de fichiers.
- (4)
- Statistiques optionnelles et informations de configuration. Actuellement (Linux 2.6.26), seuls les systèmes de fichiers NFS exportent des informations à travers ce champ.
- Ce fichier n'est accessible en lecture que par le propriétaire du processus.
- /proc/[pid]/numa_maps (depuis Linux 2.6.14)
- Consultez numa(7).
- /proc/[pid]/oom_adj (depuis Linux 2.6.11)
- Ce fichier est utilisé pour ajuster la notation utilisée pour sélectionner le processus qui sera tué dans une situation de mémoire saturée. Le noyau utilise cette valeur pour une opération de décalage sur la valeur oom_score du processus : les valeurs valables sont dans l'intervalle de -16 à +15 plus la valeur spéciale -17, qui désactive complètement la mise à mort sur mémoire saturée du processus. Une notation négative diminue la probabilité. La valeur par défaut de ce fichier est 0 ; un nouveau processus hérite de la valeur oom_adj de son père. Un processus doit être privilégié (CAP_SYS_RESOURCE) pour mettre à jour ce fichier.
- /proc/[pid]/oom_score (depuis Linux 2.6.11)
- Ce fichier indique la notation actuelle donnée par le noyau pour sélectionner un processus pour une mise à mort sur mémoire saturée. Une notation élevée signifie que le processus a plus de chance d'être sélectionné pour une mise à mort sur mémoire saturée. La base de cette notation est la quantité de mémoire utilisée par le processus. Cette notation peut augmenter (+) ou diminuer (-) en fonction des facteurs suivants :
- le processus crée beaucoup d'enfants avec fork(2) (+) ;
- le processus s'exécute depuis longtemps ou a consommé beaucoup de temps processeur (-) ;
- le processeur a une faible valeur de courtoisie (c'est-à-dire positive) (+) ;
- le processus est privilégié (-) ; et
- le processus effectue des accès matériels directs (-).
- oom_score reflète également l'ajustement de décalage de bit du processus indiqué dans oom_adj.
- /proc/[pid]/root
- Unix et Linux gèrent une notion de racine du système de
fichiers par processus, configurée avec l'appel système
chroot(2). Ce fichier est un lien symbolique qui pointe vers le
répertoire racine du processus, et se comporte comme le font exe,
fd/*, etc.
Dans un traitement multiprocessus (multithreaded), le contenu de ce lien symbolique n'est pas disponible si le processus principal est déjà terminé (typiquement par un appel à pthread_exit(3).
- /proc/[pid]/smaps (depuis Linux 2.6.14)
- Ce fichier affiche la mémoire utilisée par les cartes de
chacun des processus. Pour chacune des cartes, il y a une série de
lignes comme les suivantes :
08048000-080bc000 r-xp 00000000 03:02 13130 /bin/bash Size: 464 kB Rss: 424 kB Shared_Clean: 424 kB Shared_Dirty: 0 kB Private_Clean: 0 kB Private_Dirty: 0 kB
La première de ces lignes montre les mêmes informations que celles qui sont affichées pour la cartographie mémoire dans /proc/[pid]/maps. Les lignes qui suivent montrent la taille des cartes, la taille mémoire actuellement résidente en mémoire vive, le nombre de pages partagées de la carte « propres » ou « sales », et le nombre de cartes privées propres ou sales.Ce fichier n'est présent que si l'option de configuration du noyau CONFIG_MMU a été validée.
- /proc/[pid]/stat
- Informations sur l'état du processus. Ceci est utilisé par
ps(1). La définition se trouve dans
/usr/src/linux/fs/proc/array.c.
Les champs sont, dans l'ordre, et avec leur propre spécificateur de format de type scanf(3) :
- pid %d
- Identifiant du processus.
- comm %s
- Nom du fichier exécutable entre parenthèses. Il est visible que l'exécutable ait été déchargé sur l'espace d'échange (« swappé ») ou pas.
- state %c
- Un caractère parmi « RSDZTW » ou R signifie que le processus est en cours d'exécution, S endormi dans un état non interruptible, D en attente de disque de manière non interruptible, Z zombie, T qu'il est suivi pour une trace ou arrêté par un signal et W qu'il effectue une pagination vers l'espace d'échange.
- ppid %d
- PID du processus parent.
- pgrp %d
- Identifiant de groupe de processus du processus.
- session %d
- Identifiant de session du processus.
- tty_nr %d
- Le terminal de contrôle du processus. (Le numéro mineur de périphérique dans la combinaison des bits 31 à 20 et 7 à 0 ; le numéro majeur est dans les bits 15 à 8.)
- tpgid %d
- L'identifiant du groupe de processus d'arrière-plan du terminal de contrôle du processus.
- flags %u (était %lu avant Linux 2.6.22)
- Mot contenant les indicateur du noyau pour le processus. Pour en savoir plus sur la signification des bits, voir les définitions de PF_* dans <linux/sched.h>. Les détails dépendent de la version du noyau.
- minflt %lu
- Nombre de fautes mineures que le processus a déclenchées et qui n'ont pas nécessité le chargement d'une page mémoire depuis le disque.
- cminflt %lu
- Nombre de fautes mineures que les enfants en attente du processus ont déclenchées.
- majflt %lu
- Nombre de fautes majeures que le processus a déclenchées et qui ont nécessité un chargement de page mémoire depuis le disque.
- cmajflt %lu
- Nombre de fautes majeures que les enfants en attente du processus ont déclenchées.
- utime %ld
- Le temps passé en mode utilisateur par le processus, mesuré en tops d'horloge (divisé par sysconf(_SC_CLK_TCK). Cela inclut le temps d'invité, guest_time (temps passé à exécuter un processeur virtuel, voir plus loin), de sorte que les applications qui ne sont pas au courant du champ « temps d'invité » ne perdent pas ce temps dans leurs calculs.
- stime %ld
- Le temps passé en mode noyau par le processus, mesuré en tops d'horloge (divisé par sysconf(_SC_CLK_TCK).
- cutime %ld
- Le temps passé en mode utilisateur par le processus et ses descendants, mesuré en tops d'horloge (divisé par sysconf(_SC_CLK_TCK). Voir aussi times(2).) Cela inclut le temps d'invité, cguest_time (temps passé à exécuter un processeur virtuel, voir plus loin).
- cstime %ld
- Le temps passé en mode noyau par le processus et ses descendants, mesuré en tops d'horloge (divisé par sysconf(_SC_CLK_TCK).
- priority %ld
- (Explications pour Linux 2.6) Pour les processus s'exécutant sous
une politique d'ordonnancement temps réel (policy plus
loin ; voir sched_setscheduler(2)), il s'agit de la valeur
négative de la politique d'ordonnancement, moins un ;
c'est-à-dire un nombre dans l'intervalle -2 à -100,
correspondant aux priorités temps réel 1 à 99. Pour
les processus s'exécutant sous une politique d'ordonnancement qui
ne soit pas temps réel, il s'agit de la valeur brute de courtoisie
(setpriority(2)) comme représentée dans le noyau. Le
noyau enregistre les valeurs de courtoisie sous forme de nombre de
l'intervalle 0 (haute) à 39 (faible), correspondant à un
intervalle de courtoisie visible par l'utilisateur de -20 à 19.
Avant Linux 2.6, c'était une valeur d'échelle basée sur la pondération de l'ordonnanceur fournie au processus.
- nice %ld
- La valeur de courtoisie (voir setpriority(2)), une valeur dans l'intervalle 19 (faible priorité) à -19 (haute priorité).
- num_threads %ld
- Nombre de threads dans ce processus (depuis Linux 2.6). Avant le noyau 2.6, ce champ était codé en dur à 0 pour remplacer un champ supprimé auparavant.
- itrealvalue %lu
- Nombre de jiffies avant que le signal SIGALRM suivant soit envoyé au processus par un temporisateur interne. Depuis le noyau 2.6.17, ce champ n'est plus maintenu et est codé en dur à 0.
- starttime %llu (était %lu avant Linux 2.6)
- Instant en jiffies auquel le processus a démarré après le démarrage du système.
- vsize %lu
- Taille de la mémoire virtuelle en octets.
- rss %lu
- Taille de l'ensemble résident (Resident Set Size) : nombre de pages dont le processus dispose en mémoire réelle. Il ne s'agit que des pages contenant les espaces de code, donnée et pile. Ceci n'inclut ni les pages en attente de chargement ni celles qui ont été déchargées.
- rsslim %lu
- Limite souple actuelle en octets du RSS du processus ; voir la description de RLIMIT_RSS dans getpriority(2).
- startcode %lu
- Adresse au-dessus de laquelle le code du programme peut s'exécuter.
- endcode %lu
- Adresse en-dessous de laquelle le code du programme peut s'exécuter.
- startstack %lu
- Adresse de début (c'est-à-dire le bas) de la pile.
- kstkesp %lu
- Valeur actuelle du pointeur de pile (ESP), telle qu'on la trouve dans la page de pile du noyau pour ce processus.
- kstkeip %lu
- EIP actuel (Pointeur d'instructions).
- signal %ld
- Masque des signaux en attente, affiché sous forme d'un nombre décimal. Obsolète car il ne fournit pas d'informations sur les signaux temps réel ; utilisez plutôt /proc/[pid]/status.
- blocked %ld
- Masque des signaux bloqués, affiché sous forme d'un nombre décimal. Obsolète car il ne fournit pas d'information sur les signaux temps réel ; utilisez plutôt /proc/[pid]/status.
- sigignore %ld
- Masque des signaux ignorés, affiché sous forme d'un nombre décimal. Obsolète car il ne fournit pas d'informations sur les signaux temps réel ; utilisez plutôt /proc/[pid]/status.
- sigcatch %ld
- Masque des signaux interceptés, affiché sous forme d'un nombre décimal. Obsolète car il ne fournit pas d'informations sur les signaux temps réel ; utilisez plutôt /proc/[pid]/status.
- wchan %lu
- Il s'agit du « canal » sur lequel le processus est en attente. C'est l'adresse d'un appel système, dont on peut retrouver le nom dans une table si besoin. (Si vous avez le fichier /etc/psdatabase à jour, et essayé ps -l pour voir le champs WCHAN en action).
- nswap %lu
- Nombre de pages déplacées sur l'espace d'échange (non maintenu).
- cnswap %lu
- Champ nswap cumulé pour les processus enfants (non maintenu).
- exit_signal %d (depuis Linux 2.1.22)
- Signal à envoyer au parent lors de la mort du processus.
- processor %d (depuis Linux 2.2.8)
- Numéro du processeur utilisé lors de la dernière exécution.
- rt_priority %u (depuis Linux 2.5.19 ; était %lu avant Linux 2.6.22)
- Priorité d'ordonnancement temps réel, un nombre dans l'intervalle 1 à 99 pour les processus ordonnancés sous une politique temps réel, ou 0 pour les processus non temps réel (voir sched_setscheduler(2)).
- policy %u (depuis Linux 2.5.19 ; était %lu avant Linux 2.6.22)
- Politique d'ordonnancement (voir sched_setscheduler(2)). Décoder avec les constantes SCHED_* de linux/sched.h.
- delayacct_blkio_ticks %llu (depuis Linux 2.6.18)
- Cumul des délais d'entrées-sorties, mesuré en tic horloge (centièmes de secondes).
- guest_time %lu (depuis Linux 2.6.24)
- Temps d'invité du processus (temps passé à exécuter un processeur virtuel pour un système d'exploitation invité), mesuré en tops d'horloge (divisé par sysconf(_SC_CLK_TCK).
- cguest_time %ld (depuis Linux 2.6.24)
- Temps d'invité des fils du processus, mesuré en tops d'horloge (divisé par sysconf(_SC_CLK_TCK).
- /proc/[pid]/statm
- Donne des informations sur l'utilisation de la mémoire,
mesurée en pages. Les colonnes représentent :
size taille totale du programme
(comme pour VmSize dans /proc/[pid]/status) resident taille résidant en mémoire
(comme pour VmRSS dans /proc/[pid]/status) share pages partagées (des projections partagées) text texte (code) lib bibliothèque (non utilisé dans Linux 2.6) data données + pile dt pages touchées (dirty, non utilisé dans Linux 2.6)
- /proc/[pid]/status
- Fournit l'essentiel des informations de /proc/[pid]/stat et
/proc/[pid]/statm dans un format plus facile à lire pour les
humains. Voici un exemple :
$ cat /proc/$$/status Name: bash State: S (sleeping) Tgid: 3515 Pid: 3515 PPid: 3452 TracerPid: 0 Uid: 1000 1000 1000 1000 Gid: 100 100 100 100 FDSize: 256 Groups: 16 33 100 VmPeak: 9136 kB VmSize: 7896 kB VmLck: 0 kB VmHWM: 7572 kB VmRSS: 6316 kB VmData: 5224 kB VmStk: 88 kB VmExe: 572 kB VmLib: 1708 kB VmPTE: 20 kB Threads: 1 SigQ: 0/3067 SigPnd: 0000000000000000 ShdPnd: 0000000000000000 SigBlk: 0000000000010000 SigIgn: 0000000000384004 SigCgt: 000000004b813efb CapInh: 0000000000000000 CapPrm: 0000000000000000 CapEff: 0000000000000000 CapBnd: ffffffffffffffff Cpus_allowed: 00000001 Cpus_allowed_list: 0 Mems_allowed: 1 Mems_allowed_list: 0 voluntary_ctxt_switches: 150 nonvoluntary_ctxt_switches: 545
- Les champs sont les suivants :
- Name : Commande lancée par ce processus.
- State : État actuel du processus parmi les valeurs : « R (running) », « S (sleeping) », « D (disk sleep) », « T (stopped) », « T (tracing stop) », « Z (zombie) » ou « X (dead) ».
- Tgid : Identifiant du groupe de threads (c'est-à-dire, identifiant du processus PID).
- Pid : Identifiant de thread (voir gettid(2)).
- TracerPid : PID du processus traçant ce processus (0 s'il n'est pas tracé).
- Uid, Gid : UID (et GID) réel, effectif, sauvé et de système de fichiers.
- FDSize : Nombre d'entrées de descripteurs de fichier actuellement alloués.
- Groups : Liste des groupes supplémentaires.
- VmPeak : Taille de pointe de mémoire virtuelle.
- VmSize : Taille de mémoire virtuelle.
- VmLck : Taille de mémoire verrouillée.
- VmHWM : Taille de pointe de mémoire résidente (« High Water Mark »).
- VmRSS : Taille de mémoire résidente
- VmData, VmStk, VmExe : Taille des segments de données, de pile et de texte.
- VmLib : Taille du code de bibliothèque partagée.
- VmPTE : Taille des entrées de table de page (depuis Linux 2.6.10).
- Threads : Nombre de threads dans le processus contenant ce thread.
- SigPnd, ShdPnd : Nombre de signaux en attente du thread et du processus dans son ensemble (voir pthreads(7) et signal(7)).
- SigBlk, SigIgn, SigCgt : Masques indiquant les signaux bloqués, ignorés et interceptés (voir signal(7)).
- CapInh, CapPrm, CapEff : Masques des capacités actives dans les ensembles transmissibles, permis et effectifs (voir capabilities(7)).
- CapBnd : Ensemble de limitation de capacités (Capability Bounding set ; depuis le noyau 2.6.26, voir capabilities(7)).
- Cpus_allowed : Masque des processeurs sur lesquels le processus peut s'exécuter (depuis Linux 2.6.24, voir cpuset(7)).
- Cpus_allowed_list : Pareil que précédemment, mais au format liste (depuis Linux 2.6.26, voir cpuset(7)).
- Mems_allowed : Masque des nœuds mémoire autorisés pour ce processus (depuis Linux 2.6.24, voir cpuset(7)).
- Mems_allowed_list : Pareil que précédemment, mais au format liste (depuis Linux 2.6.26, voir cpuset(7)).
- voluntary_context_switches, nonvoluntary_context_switches : Nombre de basculement de contexte, volontaire ou non (depuis Linux 2.6.23).
- /proc/[pid]/task (depuis Linux 2.6.0-test6)
- C'est un répertoire qui comporte un sous-répertoire pour
chacun des processus légers (threads) de la tâche. Le nom de
chacun des sous-répertoire est l'identifiant ([tid]) du
thread (voir gettid(2). Dans chacun de ces sous-répertoire
se trouvent un ensemble de fichiers ayant le même nom et contenu
que dans les répertoires /proc/[pid]. Pour les attributs qui
sont partagés par tous les processus, le contenu de chacun des
fichiers se trouvant dans le sous-répertoire task/[tid] sera
identique à celui qui se trouve dans le répertoire parent
/proc/[pid] (par ex., pour une tâche multiprocessus, tous
les fichiers task/[tid]/cwd auront le même contenu que le
fichier /proc/[pid]/cwd dans le répertoire parent, puisque
tous les processus d'une même tâche partage le même
répertoire de travail. Pour les attributs qui sont distincts pour
chacun des processus, les fichiers correspondants sous task/[tid]
peuvent être différents (par ex., certains champs de chacun
de fichiers task/[tid]/status peuvent être différents
pour chaque processus).
Dans un traitement multiprocessus, le contenu du répertoire /proc/[pid]/task n'est pas disponible si le processus principal est déjà terminé (typiquement lors de l'appel pthread_exit(3).
- /proc/apm
- La version du système de gestion de puissance APM et les informations sur l'état de la batterie si la constante CONFIG_APM était définie à la compilation du noyau.
- /proc/bus
- Contient des sous-répertoires pour les bus installés.
- /proc/bus/pccard
- Répertoire pour les périphériques PCMCIA si la constante CONFIG_PCMCIA était définie à la compilation du noyau.
- /proc/bus/pccard/drivers
- /proc/bus/pci
- Contient divers sous-répertoires de bus, et des pseudo-fichiers recélant des informations sur les bus PCI, les périphériques installés et leurs pilotes. Certains de ces fichiers ne sont pas en ASCII pur.
- /proc/bus/pci/devices
- Informations sur les périphériques PCI. Peut-être consulté grâce à lspci(8) et setpci(8).
- /proc/cmdline
- Arguments passés au noyau Linux lors du boot. Généralement par l'intermédiaire d'un gestionnaire de boot comme lilo(8) ou grub(8).
- /proc/config.gz (depuis Linux 2.6)
- Ce fichier indique les options de configuration qui ont été
utilisées pour construire le noyau actuel, dans le même
format que celui utilisé pour le fichier .config
résultant de la configuration du noyau (en utilisant make
xconfig, make config, ou autre). Le contenu du fichier est
compressé ; parcourez le ou effectuez vos recherches avec
zcat(1), zgrep(1), etc. Tant qu'il n'y a pas de changement
dans les fichiers qui suivent, le contenu de /proc/config.gz est
identique à celui fournit par :
cat /lib/modules/$(uname -r)/build/.config
- /proc/config.gz n'est fourni que si le noyau est configuré avec l'option CONFIG_IKCONFIG_PROC.
- /proc/cpuinfo
- Il s'agit d'informations dépendantes de l'architecture et du processeur utilisé. Les deux seules entrées toujours présentes sont processor qui donne le nombre de processeurs et bogomips, une constante système calculée pendant l'initialisation du noyau. Les machines SMP ont une ligne d'information pour chaque processeur.
- /proc/devices
- Liste littérale des groupes de périphériques et des numéros majeurs. Ceci peut servir dans les scripts MAKEDEV pour rester cohérent avec le noyau.
- /proc/diskstats (depuis Linux 2.5.69)
- Ce fichier contient les statistiques d'entrées-sorties du disque pour chaque périphérique disque. Voir le fichier fourni avec les sources du noyau Documentation/iostats.txt pour plus d'information.
- /proc/dma
- Il s'agit d'une liste des canaux DMA (Direct Memory Acess) ISA en cours d'utilisation.
- /proc/driver
- Sous-répertoire vide.
- /proc/execdomains
- Liste des domaines d'exécution (personnalités).
- /proc/fb
- Information sur la mémoire d'écran Frame Buffer, lorsque la constante CONFIG_FB a été définie lors de la compilation du noyau.
- /proc/filesystems
- Liste textuelle des systèmes de fichiers qui sont pris en compte
par le noyau, c'est-à-dire les systèmes de fichiers qui ont
été compilés dans le noyau ou dont les modules du
noyau sont actuellement chargés. (Voir aussi
filesystems(5)). Si un système de fichiers est marqué
par « nodev », ceci signifie qu'il n'a pas
besoin d'un périphérique de type bloc pour être
monté (par exemple un système de fichiers virtuel, un
système de fichiers réseau).
Ce fichier peut éventuellement être utilisé par mount(8) lorsqu'aucun système de fichiers n'est indiqué et qu'il n'arrive pas à déterminer le type du système de fichiers. Alors, les systèmes de fichiers que comportent ce fichier sont essayés (à l'exception de ceux qui sont marqués par « nodev »).
- /proc/fs
- Sous-répertoire vide.
- /proc/ide
- Le répertoire /proc/ide existe sur les systèmes ayant
un bus IDE. Il y a des sous-répertoires pour chaque canal IDE et
les périphériques attachés. Les fichiers
contiennent :
cache taille du tampon en ko capacity nombre de secteurs driver version du pilote geometry géométries physique et logique identify identification en hexadécimal media type de support model référence fournisseur settings configuration du pilote smart_thresholds seuils en hexadécimal smart_values paramètres in hexadécimal
L'utilitaire hdparm(8) fournit un accès convivial à ces informations.
- /proc/interrupts
- Utilisé pour enregistrer le nombre d'interruptions par CPU et par périphérique d'entrées-sorties. Depuis Linux 2.6.24, pour les architectures i386 et x86_64 au moins, il comprend également les interruptions internes au système (c'est à dire pas directement attachées à un périphérique), comme les NMI (« nonmaskable interrupt », interruptions non masquable), LOC (« local timer interrupt », interruption timer local), et pour les systèmes SMP, TLB (« TLB flush interrupt »), RES (« rescheduling interrupt »), CAL (« remote function call interrupt »), et peut-être d'autres. Le format est très facile à lire, en ASCII.
- /proc/iomem
- Projection des entrées-sorties en mémoire, depuis Linux 2.4.
- /proc/ioports
- Il s'agit d'une liste des régions d'entrées-sorties en cours d'utilisation.
- /proc/kallsyms (depuis Linux 2.5.71)
- Ce fichier contient les symboles exportés par le noyau et utilisés par les outils des modules(X) pour assurer l'édition dynamique des liens des modules chargeables. Dans Linux 2.5.47 et précédents, un fichier similaire avec une syntaxe légèrement différente s'appelait ksyms.
- /proc/kcore
- Ce fichier représente la mémoire physique du système
sous forme de fichier ELF core. À l'aide de ce pseudo-fichier et
d'un binaire du noyau non stripé
(/usr/src/linux/vmlinux), gdb peut servir à inspecter
l'état de n'importe quelle structure de données du noyau.
La longueur totale de ce fichier est la taille de la mémoire RAM physique plus 4 Ko.
- /proc/kmsg
- Ce fichier peut être utilisé à la place de l'appel
système syslog(2) pour journaliser les messages du noyau. Un
processus doit avoir les privilèges superutilisateur pour lire ce
fichier, et un seul processus à la fois peut le lire. On NE DOIT
PAS lire ce fichier si un processus syslogd tourne et utilise l'appel
système syslog(2) pour journaliser les messages du noyau.
Les informations de ce fichier sont consultées par le programme dmesg(1).
- /proc/ksyms (Linux 1.1.23-2.5.47)
- Voir /proc/kallsyms.
- /proc/loadavg
- Les trois premiers champs de ce fichier sont des valeurs de charge moyenne donnant le nombre de travaux dans la file d'exécution (état R) ou en attente d'E/S disque (état D) moyennés sur 1, 5 ou 15 minutes. Ils sont identiques aux valeurs de charge moyenne données par uptime(1) et d'autres programmes. Le quatrième champ consiste ne deux nombres séparés par un slash (/). Le premier d'entre-eux est le nombre d'entités d'ordonnancement du noyau (tâches, processus) en cous d'exécution ; il sera inférieur ou égal au nombre de processeurs. La valeur qui suit le slash est le nombre d'entités d'ordonnancement du noyau qui existent actuellement sur le système. Le cinquième champ est le PID du processus le plus récemment créé sur le système.
- /proc/locks
- Ce fichier montre les verrouillages actuels des fichiers (flock(2) et fcntl(2)) et les baux (fcntl(2)).
- /proc/malloc (seulement jusqu'à Linux 2.2 inclu)
- Ce fichier n'est présent que si CONFIG_DEBUG_MALLOC a été défini lors de la compilation du noyau.
- /proc/meminfo
- Ce fichier fourni des statistiques sur l'utilisation mémoire du système. Il sert au programme free(1) pour indiquer les quantités de mémoires (physique et swap) libres et utilisées, ainsi que la mémoire partagée et les tampons utilisés par le noyau.
- /proc/modules
- Liste littérale des modules qui ont été chargés par le système. Voir lsmod(8).
- /proc/mounts
- Avant le noyau 2.4.19, ce fichier était une liste de tous les systèmes de fichiers actuellement monté sur le système. Avec l'introduction des espaces de noms de montage par processus dans Linux 2.4.19, ce fichier est devenu un lien vers /proc/self/mounts, qui liste les points de montage de l'espace de noms de montage du processus. Le format de ce fichier est documenté dans fstab(5).
- /proc/mtrr
- Memory Type Range Registers. Voir Documentation/mtrr.txt dans les sources du noyau pour plus d'informations.
- /proc/net
- Ce répertoire regroupe divers pseudo-fichiers relatifs aux fonctionnalités réseau. Chaque fichier fournit des informations concernant une couche particulière. Ces fichiers sont en ASCII et sont donc lisible grâce à cat(1), mais le programme standard netstat(8) fournit un accès plus propre à ces données.
- /proc/net/arp
- Ce fichier contient un affichage ASCII lisible des tables ARP du noyau
servant à la résolution d'adresse. Il indique à la
fois les entrées apprises dynamiquement et celles
préprogrammées. Le format est le suivant :
Adresse IP Matériel Attribut Adresse matérielle Masque Périph. 192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0 192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0
Où « adresse IP » est l'adresse IPv4 de la machine, le type de matériel est issu de la RFC 826. L'attribut correspond aux attributs de la structure ARP (définie dans /usr/include/linux/if_arp.h) et l'adresse matérielle est celle de la couche physique de l'adaptateur correspondant à l'adresse IP (si elle est connue).
- /proc/net/dev
- Ce pseudo-fichier contient des informations d'état sur les
périphériques réseau. On y trouve les nombres de
paquets émis et reçus, le nombre d'erreurs et de collisions,
ainsi que d'autres données statistiques. Ce fichier est
utilisé par le programme ifconfig(8). Le format est le
suivant :
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 2776770 11307 0 0 0 0 0 0 2776770 11307 0 0 0 0 0 0
eth0: 1215645 2751 0 0 0 0 0 0 1782404 4324 0 0 0 427 0 0
ppp0: 1622270 5552 1 0 0 0 0 0 354130 5669 0 0 0 0 0 0
tap0: 7714 81 0 0 0 0 0 0 7714 81 0 0 0 0 0 0
- /proc/net/dev_mcast
- Définie dans /usr/src/linux/net/core/dev_mcast.c :
indx interface_name dmi_u dmi_g dmi_address 2 eth0 1 0 01005e000001 3 eth1 1 0 01005e000001 4 eth2 1 0 01005e000001
- /proc/net/igmp
- Protocole Internet Group Management Protocol. Défini dans /usr/src/linux/net/core/igmp.c.
- /proc/net/rarp
- Ce fichier emploie le même format que le fichier arp, et contient la projection inverse de la base de données utilisée pour fournir les services de recherche inversée de rarp(8). Si RARP n'est pas configuré dans le noyau, ce fichier est absent.
- /proc/net/raw
- Fournit le contenu de la table des sockets RAW (brutes). La plupart des informations ne sert que pour le débogage. La valeur « sl » est l'emplacement de la socket dans la table de hachage du noyau. Le champ « local_address » contient l'adresse locale ainsi que la paire de numéros associée au protocole. « St » est l'état interne de la socket. « tx_queue » et « rx_queue » représentent les files d'attente en émission et en réception en ce qui concerne l'utilisation de la mémoire par le noyau. Les champs « tr », « tm->when » et « rexmits » ne sont pas utilisés par « RAW ». Le champ uid contient l'identifiant d'utilisateur (UID) effectif du créateur de la socket.
- /proc/net/snmp
- Ce fichier contient les données ASCII nécessaires pour les bases d'information d'IP, ICMP, TCP et UDP pour un agent SNMP.
- /proc/net/tcp
- Fournit le contenu de la table des socket TCP. La plupart des informations ne sert que pour le débogage. La valeur « sl » est l'emplacement de la socket dans la table de hachage du noyau. Le champ « local_address » contient l'adresse locale ainsi que la pair de numéros de port. Le champ « rem_address » contient l'adresse distante et la paire de numéros de port (si la socket est connectée). « St » est l'état interne de la socket. « tx_queue » et « rx_queue » représentent les files d'attente en émission et en réception en ce qui concerne l'utilisation de la mémoire par le noyau. Les champs « tr », « tm->when » et « rexmits » contiennent des données internes au noyau ne servant qu'au débogage. Le champ uid contient l'identifiant d'utilisateur (UID) effectif du créateur de la socket.
- /proc/net/udp
- Fournit le contenu de la table des socket UDP. La plupart des informations
ne sert que pour le débogage. La valeur
« sl » est l'emplacement de la socket dans la
table de hachage du noyau. Le champ
« local_address » contient l'adresse locale
ainsi que la paire de numéros de port. Le champ
« rem_address » contient l'adresse distante et
la paire de numéros de port (si la socket est connectée).
« St » est l'état interne de la socket.
« tx_queue » et
« rx_queue » représentent les files
d'attente en émission et en réception en ce qui concerne
l'utilisation de la mémoire par le noyau. Les champs
« tr »,
« tm->when » et
« rexmits » ne sont pas utilisés par
UDP. Le champ uid contient l'identifiant d'utilisateur (UID) effectif du
créateur de la socket. Le format est :
sl local_address rem_address st tx_queue rx_queue tr rexmits tm->when uid
1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
- /proc/net/unix
- Liste des sockets dans le domaine Unix présentes sur le
système, et leurs états. Le format est :
Num RefCount Protocol Flags Type St Path
0: 00000002 00000000 00000000 0001 03
1: 00000001 00000000 00010000 0001 01 /dev/printerOù « Num » est l'emplacement dans la table du noyau. « Refcount » est le nombre d'utilisateurs de la socket. « Protocol » est toujours 0 pour le moment. « Flags » représente un attribut interne du noyau correspondant à l'état de la socket. Le type est toujours 1 pour le moment (Les sockets de datagrammes dans le domaine Unix ne sont pas encore supportés par le noyau). « St » est un état interne de la socket, et Path correspond à l'éventuel chemin d'accès de la socket.
- /proc/partitions
- Contient les numéros majeur et mineur de chaque partition, ainsi que le nombre de blocs et le nom de la partition.
- /proc/pci
- Il s'agit d'une liste de tous les périphériques PCI
détectés pendant l'initialisation ainsi que leur
configuration.
Ce fichiers a été déprécié au profit d'une nouvelle interface /proc pour le PCI (/proc/bus/pci). Il est devenu optionnel dans Linux 2.2 (disponible par l'intermédiaire de CONFIG_PCI_OLD_PROC, défini à la compilation du noyau). Il est devenu non optionnel une fois de plus dans Linux 2.4. Ensuite, il a été déprécié dans Linux 2.6 (il reste disponible par l'intermédiaire du positionnement de CONFIG_PCI_LEGACY_PROC), et il a finalement été entièrement supprimé depuis Linux 2.6.17.
- /proc/scsi
- Répertoire regroupant les pseudo-fichiers du niveau scsi
intermédiaire et divers sous-répertoires pour les pilotes
SCSI de bas-niveau. Ils contiennent un fichier pour chaque hôte
SCSI du système, chacun d'entre-eux donnant l'état d'une
partie du sous-système d'E/S SCSI. Les fichiers contiennent des
structures sous forme ASCII, et sont donc lisibles avec cat(1).
On peut également écrire dans certains fichiers pour reconfigurer le sous-système SCSI, ou activer/désactiver certaines fonctionnalités.
- /proc/scsi/scsi
- Il s'agit d'une liste de tous les périphériques SCSI
reconnus par le noyau. Cette liste est la même que celle
affichée durant le démarrage. Le sous-système SCSI
n'accepte pour le moment que la commande add-single-device qui
permet au superutilisateur d'ajouter un périphérique
branché à chaud à la liste des
périphériques connus.
La commande
echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi
fera examiner le canal SCSI 0 par l'hôte scsi1, à la recherche d'un périphérique identifié ID 5 LUN 0. S'il y a déjà un périphérique à cette adresse ou si l'adresse est inconnue, une erreur sera renvoyée. - /proc/scsi/[nom_de_pilote]
- Le [nom_de_pilote] peut être actuellement :
NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx, buslogic, eata_dma,
eata_pio, fdomain, in2000, pas16, qlogic, scsi_debug, seagate, t128,
u15-24f, ultrastore ou wd7000. Ces répertoires correspondent
à chaque pilote qui pilote au moins un HBA SCSI. Chaque
répertoire contient un fichier par hôte enregistré.
Chaque fichier hôte est baptisé avec le numéro
assigné à l'hôte durant l'initialisation.
La lecture de ces fichiers montrera en général la configuration de l'hôte et du pilote, des statistiques, etc.
L'écriture dans ces fichiers permettra différentes choses suivant les hôtes. Par exemple, avec les commandes latency et nolatency, le superutilisateur peut activer ou inhiber le code de mesure de latence des commandes dans le pilote eata_dma. Avec les commandes lockup et unlock, il peut contrôler les verrouillages de bus simulés par le pilote scsi_debug.
- /proc/self
- Ce répertoire se rapporte au processus accédant au système de fichiers /proc, et est identique au sous-répertoire de /proc ayant pour nom le PID du processus appelant.
- /proc/slabinfo
- Information concernant les caches du noyau. Depuis Linux 2.6.16, ce
fichier n'est présent que si l'option de configuration du noyau
CONFIG_SLAB est validée. Les colonnes de
/proc/slabinfo sont :
nom-du-cache nombre-d'objets-actifs nombre-total-d'objets taille-d-'objet nombre-de-tampons-actifs nombre-total-de-tampons nombre-de-pages-par-tampon
Voir slabinfo(5) pour des détails.
- /proc/stat
- Statistiques du noyau, et du système. Varie avec l'architecture, les entrées communes sont :
- cpu 3357 0 4313 1362393
- Temps, mesuré en unités de USER_HZ (centièmes de
seconde sur la plupart des architectures, utilisez
sysconf(_SC_CLK_TCK) pour connaître la valeur correcte), que
le système a passé en mode utilisateur, en mode utilisateur
avec une basse priorité (« courtoisie
élevée » : nice), en mode
système, et le temps d'inactivité. La dernière valeur
devrait correspondre à 100 fois la deuxième entrée du
pseudo-fichier uptime.
Avec Linux 2.6, cette ligne comporte trois colonnes supplémentaires : iowait - temps à attendre pour que l'E/S se termine (depuis 2.5.41) ; irq - délai pour prendre en compte l'interruption (depuis 2.6.0-test4) ; softirq - délai pour prendre en compte les interruptions logicielles (depuis 2.6.0-test4).
Depuis Linux 2.6.11, il y a une huitième colonne, volée - le temps volé, qui est le temps passé dans d'autres systèmes d'exploitation lorsqu'un environnement virtualisé est actif
Depuis Linux 2.6.14, il y a une neuvième colonne, guest, qui est le temps passé à exécuter un processeur virtuel pour des systèmes d'exploitation invités sous le contrôle du noyau Linux.
- page 5741 1808
- Le nombre de pages que le système a paginé en entrée et en sortie.
- swap 1 0
- Le nombre de pages de swap que le système a échangé en entrée et en sortie.
- intr 1462898
- Cette ligne contient le nombre d'interruptions qui ont été prises en compte depuis le démarrage du système, pour chacune des interruptions possibles. La première colonne est le total de toutes les interruptions ayant été prises en compte ; chacune des colonnes suivantes représente le total pour une interruption particulière.
- disk_io: (2,0):(31,30,5764,1,2) (3,0):...
- (major,disk_idx):(noinfo, read_io_ops, blks_read, write_io_ops,
blks_written)
(Linux 2.4 seulement) - ctxt 115315
- Le nombre de changements de contexte effectués par le système.
- btime 769041601
- La date de démarrage du système en secondes écoulées depuis le 1er janvier 1970.
- processes 86031
- Le nombre de processus exécutés sur le système depuis le démarrage.
- procs_running 6
- Nombre de processus dans un état exécutable. (à partir de Linux 2.5.45).
- procs_blocked 2
- Nombre de processus bloqués en attente de fin d'E/S. (À partir de Linux 2.5.45).
- /proc/swaps
- Les zones de swap utilisées. Voir aussi swapon(8).
- /proc/sys
- Ce répertoire (présent depuis le noyau 1.3.57) contient un ensemble de fichiers et de sous-répertoires correspondant à des variables internes du noyau. Celles-ci peuvent être lues et parfois modifiées en utilisant le pseudo-système de fichiers /proc, et en utilisant l'appel système (obsolète) sysctl(2). Actuellement, il existe les sous-répertoires abi, debug, dev, fs, kernel, net, proc, rxrpc, sunrpc et vm qui contiennent chacun des fichiers et d'autres sous-répertoires.
- /proc/sys/abi (depuis Linux 2.4.10)
- Ce répertoire peut contenir des fichiers d'informations sur l'exécutable de l'application Voir le fichier fourni avec les sources du noyau Documentation/sysctl/abi.txt pour plus d'informations.
- /proc/sys/debug
- Ce répertoire peut être vide.
- /proc/sys/dev
- Ce répertoire contient des informations spécifiques sur les périphériques (par exemple dev/cdrom/info). Sur certains systèmes, il peut être vide.
- /proc/sys/fs
- On trouve ici les sous-répertoires binfmt_misc, epoll, inotify, and mqueue, et les fichiers dentry-state, dir-notify-enable, dquot-nr, file-max, file-nr, inode-max, inode-nr, inode-state, lease-break-time, leases-enable, overflowgid, overflowuid, suid_dumpable, super-max et super-nr.
- /proc/sys/fs/binfmt_misc
- La documentation concernant les fichiers de ce répertoire se trouve dans les sources du noyau, dans Documentation/binfmt_misc.txt.
- /proc/sys/fs/dentry-state (depuis Linux 2.2)
- Ce fichier contient des informations sur l'état du cache de répertoire (dcache). Ce fichier contient six nombres nr_dentry, nr_unused, age_limit (age en secondes), want_pages (pages réclamées par le système) et deux valeurs inutiles.
- nr_dentry est le nombre d'entrées dcache allouées. Ce champ n'est pas utilisé dans Linux 2.2.
- nr_unused est le nombre d'entrées de répertoire libres.
- age_limit est l'âge en seconde après lequel les entrées de cache peuvent être réclamées quand la mémoire libre diminue.
- want_pages n'est pas nul quand le noyau a appelé shrink_dcache_pages() et que le cache de répertoire n'a pas encore été élagué.
- /proc/sys/fs/dir-notify-enable
- ce fichier peut être utilisé pour activer ou inhiber l'interface dnotify décrite dans fcntl(2) au niveau système Une valeur nulle inhibe cette interface, et la valeur 1 l'active.
- /proc/sys/fs/dquot-max
- Ce fichier montre le nombre maximal d'entrée de quota de disque en cache. Sur certains systèmes (2.4), il est absent. Si le nombre de quotas de disque libres est très bas, et si vous avez un nombre important d'utilisateurs simultanés, vous pouvez augmenter cette valeur.
- /proc/sys/fs/dquot-nr
- Ce fichier montre le nombre d'entrées de quota de disque allouées et le nombre d'entrées libres.
- /proc/sys/fs/epoll (depuis Linux 2.6.28)
- Ce répertoire contient le fichier max_user_watches, qui peut être utilisé pour limiter la quantité de mémoire du noyau utilisée par l'interface epoll. Voir epoll(7) pour davantage d'informations.
- /proc/sys/fs/file-max
- Ce fichier est la limite système du nombre de fichiers ouverts par
un processus. (Voir aussi setrlimit(2) qui peut servir à
fixer la limite par processus, RLIMIT_NOFILE). Si vous avez
beaucoup de messages d'erreurs indiquant un manque de descripteurs de
fichiers, essayez d'augmenter cette valeur.
echo 100000 > /proc/sys/fs/file-max
La constante NR_OPEN du noyau impose une limite supérieure à la valeur que l'on peut placer dans file-max.
Si vous augmentez /proc/sys/fs/file-max, assurez-vous d'augmenter /proc/sys/fs/inode-max jusqu'à 3 à 4 fois la nouvelle valeur de /proc/sys/fs/file-max, ou vous serez à court d'inodes.
- /proc/sys/fs/file-nr
- Ce fichier (en lecture seule) donne le nombre de fichiers actuellement ouverts. Il contient trois nombres : les descripteurs de fichiers allouées, les descripteurs de fichiers libres, et le maximum de descripteurs de fichiers. Le noyau alloue les descripteurs dynamiquement, mais il ne les libère pas. Si le nombre de descripteurs alloués est proche du maximum, vous pouvez envisager d'augmenter le maximum. Quand le nombre de descripteurs libres est très grand, vous avez rencontré dans le passé un pic d'utilisation et n'avez probablement pas besoin d'augmenter le maximum.
- /proc/sys/fs/inode-max
- Ce fichier contient le nombre maximal d'inodes en mémoire. Sur certains systèmes (2.4) il peut être absent. Cette valeur devrait être 3 à 4 fois plus grande que le nombre file-max, car les descripteurs stdin, stdout, et les socket réseau nécessitent aussi un inode. Lorsque vous manquez régulièrement d'inode, augmentez cette valeur.
- /proc/sys/fs/inode-nr
- Ce fichier contient les deux premières valeurs d'inode-state.
- /proc/sys/fs/inode-state
- Ce fichier contient sept nombres : nr_inodes, nr_free_inodes, preshrink et quatre valeurs non significatives. nr_inodes est le nombre d'inodes alloués par le système. Il peut être légèrement plus grand que inode-max, car Linux les alloue par page complète. nr_free_inodes représente le nombre d'inodes libres. preshrink est non-nul lorsque nr_inodes > inode-max et que le système doit purger la liste d'inodes plutôt qu'en allouer davantage.
- /proc/sys/fs/inotify (depuis Linux 2.6.13)
- Ce répertoire contient les fichiers max_queued_events, max_user_instances, et max_user_watches, qui peuvent être utilisés pour limiter la quantité de mémoire du noyau utilisée par l'interface inotify. Voir inotify(7) pour davantage d'informations.
- /proc/sys/fs/lease-break-time
- Ce fichier indique le délai de grâce que le noyau accorde à un processus détenant un blocage de fichier (file lease, voir fcntl(2)) après qu'il lui a envoyé un signal indiquant qu'un autre processus attend pour ouvrir le fichier. Si, durant le délai de grâce, le détenteur du blocage ne le supprime pas, en n'en diminue pas la portée, le noyau éliminera de force le blocage.
- /proc/sys/fs/leases-enable
- Ce fichier permet d'activer ou d'inhiber les blocages de fichiers (file lease, voir fcntl(2)) pour tout le système. Si ce fichier contient la valeur 0, les blocages sont désactivés, une valeur non-nulle les active.
- /proc/sys/fs/mqueue (depuis Linux 2.6.6)
- Ce répertoire contient les fichiers msg_max, msgsize_max, et queues_max, qui contrôlent les ressources utilisées par les files de messages POSIX. Voir mq_overview(7) pour davantage d'informations.
- /proc/sys/fs/overflowgid et /proc/sys/fs/overflowuid
- Ces fichiers contiennent des valeurs de GID et UID de débordement, par défaut 65534. Certains systèmes de fichiers ne supportent que des UID et GID sur 16 bits, bien que le noyau Linux les gère sur 32 bits. Lorsque l'un de ces systèmes de fichiers est monté en lecture-écriture, tout UID ou GID dépassant 65535 est remplacé par la valeur de débordement avant l'écriture sur le disque.
- /proc/sys/fs/suid_dumpable (depuis Linux 2.6.13)
- La valeur de ce fichier détermine si des fichiers d'images
mémoire ont été produit pour
« set-user-ID » ou d'autre binaires
protégés ou corrompus. Trois différentes valeurs
entières peuvent être indiquées :
0 (défaut) Ceci donne le comportement traditionnel (antérieur à Linux 2.6.13). Une image mémoire ne sera pas produite pour un processus qui a modifié ses droits (en appelant seteuid(2), setgid(2), ou autre, ou en exécutant un programme set-user-ID ou set-group-ID) ou dont le binaire n'a pas le droit de lecture actif.
1 (« debug ») Des images mémoire de tous les processus seront faites si possible. L'image mémoire appartient à l'identifiant d'utilisateur du système de fichiers du processus dont l'image a été créée et aucune mesure de sécurité n'est prise. Ceci n'est prévu que dans des situations où l'on souhaite déboguer le système. Ptrace n'est pas vérifié.
2 (« suidsafe ») L'image mémoire d'un binaire qui n'aurait normalement pas été effectuée (voir « 0 » ci-dessus) est prise lisible par le superutilisateur (root) seulement. Ceci permet à l'utilisateur de pourvoir supprimer l'image mémoire mais pas de la lire. Pour des raisons de sécurité, les images mémoires prises dans ce mode n'en écraseront pas une autre ou d'autres fichiers. Ce mode est adéquat lorsque l'administrateur essaie de déboguer des problèmes dans un environnement normal.
- /proc/sys/fs/super-max
- Ce fichier indique le nombre maximal de superblocs, et donc le nombre maximal de systèmes de fichiers que le noyau peut monter. Vous n'avez besoin d'augmenter super-max que si vous désirez monter plus de systèmes de fichiers que ce que la valeur actuelle de super-max vous permet.
- /proc/sys/fs/super-nr
- contient le nombre de systèmes de fichiers montés actuellement.
- /proc/sys/kernel
- Ce répertoire contient des fichiers contrôlant tout une série de paramètres, décrits ci-dessous.
- /proc/sys/kernel/acct
- Ce fichier contient trois nombres : un seuil haut, un seuil bas et une période. Si la comptabilité des processus à la manière BSD est activée, ses valeurs déterminent son comportement. Si l'espace disque sur le système de fichiers accueillant les statistiques descend sous le seuil bas, (en pourcentage), la comptabilité est suspendue. Si l'espace remonte au-dessus du seuil haut, elle reprend. La période (en seconde) est celle avec laquelle le noyau vérifie l'espace disque disponible. Les valeurs par défaut sont 4, 2 et 30. Cela signifie que la comptabilité est suspendue en-dessous de 2% d'espace libre, elle reprend à partir de 4% et la vérification a lieu toutes les 30 secondes.
- /proc/sys/kernel/cap-bound (de Linux 2.2 à 2.6.24)
- Ce fichier conserve la valeur de limitation de capacités du noyau (exprimée comme un nombre décimal signé). Cet ensemble est filtré par un ET binaire avec les capacités du processus lors d'un execve(2). À partir de Linux 2.6.25, la limitation de capacités à l'échelle du système a disparu pour être remplacé par une limitation au niveau des threads ; voir capabilities(7).
- /proc/sys/kernel/core_pattern
- Consultez core(5).
- /proc/sys/kernel/core_uses_pid
- Consultez core(5).
- /proc/sys/kernel/ctrl-alt-del
- Ce fichier contrôle la gestion de la séquence Ctrl-Alt-Suppr du clavier. S'il contient la valeur zéro, Ctrl-Alt-Suppr est capturé et envoyé au programme init(8) pour relancer le système correctement. Si la valeur est supérieure à zéro, la réaction de Linux à ce Coup-de-pied Au C.. est un redémarrage immédiat, sans même écrire le contenu des tampons en attente. Note : lorsqu'un programme (comme dosemu) utilise le clavier en mode «raw » (brut), la séquence ctl-alt-suppr est interceptée par le programme avant même d'atteindre le gestionnaire de console du noyau, et c'est à ce programme de décider qu'en faire.
- /proc/sys/kernel/hotplug
- Ce fichier contient le chemin de l'agent du mécanisme de branchement à chaud. La valeur par défaut est /sbin/hotplug.
- /proc/sys/kernel/domainname et /proc/sys/kernel/hostname
- Ces fichiers servent à indiquer les noms NIS/YP de domaine et
d'hôte, exactement de la même manière que les
commandes domainname(1) et hostname(1).
C'est-à-dire :
# echo 'darkstar' > /proc/sys/kernel/hostname # echo 'mydomain' > /proc/sys/kernel/domainname
a exactement le même effet que
# hostname 'darkstar' # domainname 'mydomain'
Notez toutefois, que le classique darkstar.frop.org a le nom d'hôte darkstar et le nom de domaine DNS (Internet Domain Name Server) "frop.org", à ne pas confondre avec le nom de domaine NIS (Network Information Service) ou YP (Yellow Pages). Ces noms de domaines sont généralement différents. Pour plus de détail, voyez la page hostname(1).
- /proc/sys/kernel/htab-reclaim
- (PowerPC seulement) Si ce fichier contient une valeur non-nulle, la htab du PowerPC (voir le fichier Documentation/powerpc/ppc_htab.txt du noyau) est parcourue chaque fois que le système atteint la boucle d'inactivité.
- /proc/sys/kernel/l2cr
- (Sur PowerPC seulement). Ce fichier contient un indicateur commandant le cache L2 des cartes à processeur G3. Le cache est désactivé si la valeur est nulle, activé sinon.
- /proc/sys/kernel/modprobe
- Ce fichier comporte le chemin du chargeur de modules du noyau. Sa valeur par défaut est /sbin/modprobe. Ce fichier n'est présent que si le noyau est construit avec l'option CONFIG_KMOD activée. Ceci est décrit dans le fichier du noyau Documentation/kmod.txt (il n'est présent que dans les version de noyau 2.4 et antérieures).
- /proc/sys/kernel/msgmax
- Ce fichier est une limite pour l'ensemble du système précisant le nombre maximal d'octets par message écrit dans une file de message System V.
- /proc/sys/kernel/msgmni
- Ce fichier définit la limite pour le système du nombre d'identifiants de files de messages. (Ce fichier n'existe que depuis Linux 2.4).
- /proc/sys/kernel/msgmnb
- Ce fichier définit un paramètre valable pour l'ensemble du système utilisé pour initialiser la valeur msg_qbytes pour la création ultérieure de files de messages. La valeur msg_qbytes indique le nombre maximal d'octets qui pourront être écrits dans une file de messages.
- /proc/sys/kernel/ostype et /proc/sys/kernel/osrelease
- Ces fichiers donnent des sous-chaînes de /proc/version.
- /proc/sys/kernel/overflowgid et /proc/sys/kernel/overflowuid
- Ces fichiers remplissent le même rôle que /proc/sys/fs/overflowgid et /proc/sys/fs/overflowuid.
- /proc/sys/kernel/panic
- Ce fichier donne un accès en lecture et écriture à la variable panic_timeout du noyau. Si elle vaut zéro, le noyau se mettra en boucle en cas de panique ; sinon elle indique que le noyau devra redémarrer de lui-même après le nombre de secondes qu'elle contient. Si vous utilisez le pilote logiciel de surveillance watchdog, la valeur recommandée est de 60.
- /proc/sys/kernel/panic_on_oops (depuis Linux 2.5.68)
- Ce fichier contrôle le comportement du noyau lorsqu'un Oops (défaut) ou un bogue est rencontré. Si ce fichier contient 0, alors le système tente de continuer à travailler. S'il contient 1, alors le système attend quelques secondes (pour laisser à klogd le temps d'enregistrer la sortie du Oops) puis déclenche une panique. Si le fichier /proc/sys/kernel/panic est également non nul alors la machine redémarrera.
- /proc/sys/kernel/pid_max (depuis Linux 2.5.34)
- Ce fichier indique la valeur à partir de laquelle la numérotation des PID reprendra à sa valeur initiale (ce qui signifie que la valeur dans ce fichier est celle du PID maximum plus un). La valeur par défaut est 32768, ce qui correspond à la même plage de PID que sur les noyaux antérieurs. Pour les plates-formes 32 bits, la valeur maximum de pid_max est de 32768. Pour les systèmes 64 bits, pid_max peut avoir n'importe quelle valeur jusqu'à 2^22 (PID_MAX_LIMIT, approximativement 4 millions).
- /proc/sys/kernel/powersave-nap (PowerPC seulement)
- Ce fichier contient un indicateur. S'il est non-nul, Linux-PPC utilisera le mode « nap » d'économie d'énergie, sinon il utilisera le mode « doze ».
- /proc/sys/kernel/printk
- Les quatre valeurs dans ce fichier sont nommées console_loglevel, default_message_loglevel, minimum_console_level et default_console_loglevel. Ces valeurs influencent le comportement de printk() lors de l'affichage ou de la journalisation de message d'erreurs. Voir syslog(2) pour plus d'information sur les différents niveaux. Les messages avec une priorité plus élevée que console_loglevel seront affichés sur la console. Les messages sans priorité explicite utiliseront la priorité default_message_level. minimum_console_loglevel est la valeur maximale à laquelle console_loglevel puisse être élevé. default_console_loglevel est la valeur par défaut pour console_loglevel.
- /proc/sys/kernel/pty (depuis Linux 2.6.4)
- Ce répertoire contient deux fichiers relatifs au nombre de pseudo-terminaux Unix 98 (voir pts(4)) sur le système.
- /proc/sys/kernel/pty/max
- Ce fichier définit le nombre maximal de pseudo-terminaux.
- /proc/sys/kernel/pty/nr
- Ce fichier, en lecture seule, indique le nombre de pseudo-terminaux en cours d'utilisation.
- /proc/sys/kernel/random
- Ce répertoire contient divers paramètres contrôlant le fonctionnement du fichier /dev/random. Voir random(4) pour davantage d'informations.
- /proc/sys/kernel/real-root-dev
- Ce fichier est documenté dans le fichier Documentation/initrd.txt des sources du noyau.
- /proc/sys/kernel/reboot-cmd (Sparc seulement)
- permet apparemment de fournir un argument au chargeur de boot ROM/Flash Sparc. Peut-être indique-t-il que faire après redémarrage ?
- /proc/sys/kernel/rtsig-max
- (Uniquement pour les noyaux jusqu'à 2.6.7 inclus ; voir setrlimit(2)).Ce fichier peut être utilisé pour ajuster le nombre maximum de signaux POSIX temps-réel (en file d'attente) pouvant se trouver en attente sur le système.
- /proc/sys/kernel/rtsig-nr
- (Uniquement pour les noyaux de Linux jusqu'à 2.6.7 inclus). Ce fichier indique le nombre de signaux POSIX temps-réel actuellement en file attente.
- /proc/sys/kernel/sem (disponible depuis Linux 2.4)
- contient 4 limites pour les sémaphores System V. Ces valeurs sont respectivement :
- SEMMSL
- Le nombre maximal de sémaphores par ensemble.
- SEMMNS
- Une limite générale au système pour le nombre de sémaphores dans tous les ensembles.
- SEMOPM
- Le nombre maximal d'opérations que l'on peut indiquer dans un appel semop(2).
- SEMNI
- Une limite générale sur le nombre maximal d'identifiants de sémaphores.
- /proc/sys/kernel/sg-big-buff
- Ce fichier montre la taille du tampon pour le pilote SCSI générique (sg). Vous ne pourrez pas y écrire pour le moment, mais vous pouvez changer sa valeur à la compilation en éditant include/scsi/sg.h et en modifiant SG_BIG_BUFF. Toutefois, il ne devrait y avoir aucune raison de le modifier.
- /proc/sys/kernel/shmall
- Ce fichier contient le nombre maximal de pages de mémoire partagées (IPC System V) au niveau du système.
- /proc/sys/kernel/shmmax
- Ce fichier permet de lire ou modifier la taille maximale des segments de mémoire partagée (IPC System V) que l'on peut créer. Les segments de mémoire jusqu'à 1Go sont à présent autorisés par le noyau. La valeur par défaut est SHMMAX.
- /proc/sys/kernel/shmmni
- (disponible depuis Linux 2.4) Ce fichier indique le nombre maximal de segments de mémoire partagée System V que l'on peut créer.
- /proc/sys/kernel/sysrq
- Ce fichier contrôle les fonctions qui peuvent être
appelées par les combinaisons SysRq. Par défaut, le fichier
contient un « 1 », ce qui signifie que toute
demande SysRq est autorisée (dans les anciennes versions du noyau,
SysRq était désactivé par défaut, et il
fallait l'activer explicitement lors de l'exécution, mais ce n'est
plus le cas). Les valeurs possibles dans ce fichier sont :
0 - désactiver sysrq complètement
1 - activer toutes les fonctions de sysrq
>1 - masque de bits des sysrq autorisées, défini comme ceci :
2 - active le contrôle du niveau de journalisation de la console
4 - active le contrôle du clavier (SAK, unraw
8 - active la production d'images de débogue des processus, etc.
16 - active la commande sync
32 - active le remontage en lecture seule
64 - active l'envoi de signaux aux processus (term, kill, oom-kill)
128 - autorise reboot/poweroff
256 - autorise la définition de la politesse de toutes les tâches temps réelCe fichier n'est présent que si l'option de configuration du noyau CONFIG_MAGIG_SYSRQ a été validée. Pour plus d'informations, consultez Documentation/sysrq.txt dans les sources du noyau.
- /proc/sys/kernel/version
- Ce fichier contient une chaîne du type :
#5 Wed Feb 25 21:49:24 MET 1998Le champ « #5 » indique que c'est la cinquième compilation du noyau depuis ces sources, et la date correspond à celle de la compilation.
- /proc/sys/kernel/threads-max (disponible depuis Linux 2.3.11)
- Ce fichier contient le nombre maximal de threads (tâches) qui peuvent être créés sur le système.
- /proc/sys/kernel/zero-paged (PowerPC seulement)
- Ce fichier contient un drapeau. S'il est activé (non-nul), Linux-PPC effacera les pages dans sa boucle d'inactivité, accélérant éventuellement get_free_pages.
- /proc/sys/net
- Ce répertoire contient des éléments relatif au réseau. Des explications pour certains des fichiers de ce répertoire peuvent être trouvées dans tcp(7) et ip(7).
- /proc/sys/net/core/somaxconn
- Ce fichier défini une valeur plafond pour le paramètre backlog de listen(2) ; consultez la page de manuel listen(2) pour des détails.
- /proc/sys/proc
- Ce répertoire peut être vide.
- /proc/sys/sunrpc
- Ce répertoire correspond aux appels de procédures à distance (RPC) sur un système de fichiers NFS. Sur certains systèmes, il est absent.
- /proc/sys/vm
- Ce répertoire contient des fichiers de paramétrage de la gestion de mémoire, des tampons, et du cache.
- /proc/sys/vm/drop_caches (depuis Linux 2.6.16)
- Écrire dans ce fichier fait libérer de la mémoire par
le noyau, les caches, dentries et inodes propres, en libérant ainsi
cette mémoire libre.
Pour libérer les pagecache, utilisez echo 1 > /proc/sys/vm/drop_caches ; to libérer les dentries et les inodes, utilisez echo 2 > /proc/sys/vm/drop_caches ; pour libérer les pagecache, dentries et inodes, utilisez echo 3 > /proc/sys/vm/drop_caches.
Parce que cette opération est non-destructive, et que les objets sales ne sont pas libérables, l'utilisateur doit utiliser la commande sync(8) au préalable.
- /proc/sys/vm/swappiness
- La valeur dans ce fichier contrôle le niveau d'agressivité utilisé par le noyau pour déplacer des pages mémoire dans l'espace d'échange. Les valeurs élevées indique une agressivité plus importante. La valeur par défaut est de 60.
- /proc/sys/vm/legacy_va_layout (depuis Linux 2.6.9)
- S'il est non nul, ceci désactive la nouvelle disposition de carte mémoire 32 bit ; le noyau utilisera alors la disposition habituelle (legacy) (2.4) pour tous les processus.
- /proc/sys/vm/oom_dump_tasks (depuis Linux 2.6.25)
- Active la production d'une image des tâches du système
(à l'exception des threads du noyau) lors des mises à mort
sur mémoire saturée. L'image comprend les informations
suivantes pour chaque tâche (thread ou processus) :
identifiant de thread, identifiant d'utilisateur réel, identifiant
du groupe de thread (identifiant du processus) taille de la mémoire
virtuelle, taile de la mémoire résidante, CPU sur lequel la
tâche était ordonnancée, valeur de oom_adj (voir la
description de /proc/[pid]/oom_adj) et le nom de la commande. C'est
utile pour trouver la raison de la mise à mort sur mémoire
saturée et pour identifier la tâche défectueuse qui
en est la cause.
Avec la valeur zéro, l'information est supprimée. Sur les très gros système avec des milliers de tâches, il peut ne pas être faisable de créer l'image avec les informations sur chacune. Ces systèmes ne devraient pas être obligés de pénaliser leurs performances dans ces cas de pénurie de mémoire si ces informations ne sont pas désirées.
Pour toute valeur non nulle, les informations sont présentées à chaque mise à mort sur mémoire saturée.
La valeur par défaut est 0.
- /proc/sys/vm/oom_kill_allocating_task (depuis Linux 2.6.24)
- Ceci active ou désactive la mise à mort de la tâche
qui produit l'erreur dans les situations de mémoire saturée.
Avec une valeur de zéro, la liste des tâches sera parcourue et la tâche à tuer sera sélectionnée en fonction d'heuristiques. Ceci sélectionne normalement une tâche consommant une grosse quantité de mémoire qui libérera beaucoup de mémoire lorsqu'elle sera tuée.
Avec une valeur non nulle, la tâche tuée sera celle qui échouera lors d'une allocation de mémoire. Ceci évite un parcours de la liste des tâches qui peut être coûteux.
Si /proc/sys/vm/panic_on_oom est non nul, il est prioritaire sur toute valeur utilisée dans /proc/sys/vm/oom_kill_allocating_task.
La valeur par défaut est 0.
- /proc/sys/vm/overcommit_memory
- Ce fichier contient le mode pour les statistiques de la mémoire virtuelle du noyau. Les valeurs sont :
- 0: gestion heuristique du dépassement de l'allocation
mémoire (c'est la valeur par défaut)
1: pas de gestion du dépassement, ne jamais vérifier
2: toujours vérifier, gestion stricte du dépassement
- Dans le mode 0, les appels à mmap(2) utilisant MAP_NORESERVE ne sont pas vérifiés et le niveau de vérification par défaut est très faible, laissant le risque d'avoir un processus « OOM-killed ». Sous Linux 2.4, toute valeur non nulle implique le mode 1. Dans le mode 2 (disponible depuis Linux 2.6), l'espace d'adressage virtuel total sur le système est limité à (SS + RAM*(r/100)), où SS est la taille de l'espace d'échange (« swap »), RAM la taille de la mémoire physique, et r le contenu du fichier /proc/sys/vm/overcommit_ratio.
- /proc/sys/vm/overcommit_ratio
- Voir la description de /proc/sys/vm/overcommit_memory.
- /proc/sys/vm/panic_on_oom (depuis Linux 2.6.18)
- Ceci active ou désactive le déclenchement d'une panique dans
les situations de mémoire saturée.
Si ce fichier est configuré à la valeur 0, le noyau (le « OOM-killer ») tuera un processus perturbateur. D'habitude, il peut tuer un processus perturbateur et le système survivra.
Si ce fichier est configuré à la valeur 1, le noyau paniquera dans une situation de mémoire saturée. Cependant, si un processus limite les allocations que sur certains noeuds en utilisant des politiques mémoire (MPOL_BIND dans mbind(2)) ou des ensembles de processeurs (cpuset(7)), et si ces noeuds voient leur mémoire saturée, un processus peut être tué par le OOM-killer. Aucune panique ne survient dans ce cas. Comme de la mémoire est disponible sur d'autres noeuds, le système n'a pas entièrement atteint une situation de mémoire saturée.
Si ce fichier est configuré à la valeur 2, le noyau panique toujours dans une situation de mémoire saturée.
La valeur par défaut est 0. Les valeurs 1 et 2 sont utilisées pour la récupération en cas d'erreur de groupements. Sélectionnez l'un ou l'autre en fonction de votre politique de récupération en cas d'erreur.
- /proc/sysrq-trigger (depuis Linux 2.4.21)
- L'écriture d'un caractère dans ce fichier déclenche la même fonction SysRq que la combinaison ALT-SysRq-<caractère> (voir la description de /proc/sys/kernel/sysrq). Ce fichier est normalement accessible en écriture que pour root. Pour plus d'informations, consultez le fichier Documentation/sysrq.txt dans les sources du noyau.
- /proc/sysvipc
- Sous-répertoire contenant les pseudo-fichiers msg, sem and shm. Ces fichiers listent les objets d'IPC System V (soient les files de messages, les sémaphores, et la mémoire partagée) existant actuellement sur le système, en donnant les mêmes informations que celles disponibles par la commande ipcs(1). Ces fichiers ont des en-têtes et sont formatés (à raison d'un objet IPC par ligne) de façon à être lus facilement. La page svipc(7) donne davantage d'informations concernant les données fournies par ces fichiers.
- /proc/tty
- Sous-répertoire contenant les pseudo-fichiers et les sous-répertoires pour les pilotes de tty et la gestion de la ligne.
- /proc/uptime
- Ce fichier contient deux valeurs : la durée de fonctionnement (uptime) en secondes, et le temps écoulé à ne rien faire (idle), en secondes également.
- /proc/version
- Cette chaîne identifie la version du noyau en cours
d'exécution. Elle inclue le contenu de
/proc/sys/kernel/ostype, /proc/sys/kernel/osrelease et
/proc/sys/kernel/version. Par exemple :
Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
- /proc/vmstat (depuis Linux 2.6)
- Ce fichier contient diverses statistiques sur la mémoire virtuelle.
- /proc/zoneinfo (depuis Linux 2.6.13)
- Ce fichier affiche des informations concernant les zones mémoire. C'est utile pour analyser le comportement de la mémoire virtuelle.
NOTES¶
De nombreuses chaînes (par exemple, l'environnement et de la ligne de commande) sont affichées dans un format interne, ses champs terminés par un caractère nul. Il est parfois plus lisible d'utiliser od -c ou tr "\000" "\n" pour les lire. En remplacement, la commande echo `cat <file>` fonctionne bien.
Cette page de manuel est incomplète, incertaine, et devrait être mise à jour très souvent.
VOIR AUSSI¶
cat(1), dmesg(1), find(1), free(1),
ps(1), tr(1), uptime(1), chroot(2),
mmap(2), readlink(2), syslog(2), slabinfo(5),
hier(7), time(7), arp(8), hdparm(8),
ifconfig(8), init(8), lsmod(8), lspci(8),
mount(8), netstat(8), procinfo(8), route(8)
Les fichiers source du noyau :
Documentation/filesystems/proc.txt,
Documentation/sysctl/vm.txt
COLOPHON¶
Cette page fait partie de la publication 3.23 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse <URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <URL:http://alioth.debian.org/projects/perkamon/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Jean-Luc Coulon et l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à <perkamon-l10n-fr@lists.alioth.debian.org>.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».
30 septembre 2009 | Linux |